$(document).ready(function () {
    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();
    $('#tb_borrow').bootstrapTable('hideColumn', 'id');
    initCategory();
});
//2.初始化Button的点击事件
var oButtonInit = new ButtonInit();
oButtonInit.Init();
function refreshTable() {
    $("#tb_borrow").bootstrapTable('refresh');
};
var pageNumber =1;
function TableInit() {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('.cover').hide();
        $('#tb_borrow').bootstrapTable({
            url: "/user/getAll",   //请求后台的URL（*）
            method: 'get',      //请求方式（*）
            contentType: "application/x-www-form-urlencoded",
            toolbar: '#toolbar',    //工具按钮用哪个容器
            striped: true,      //是否显示行间隔色
            cache: false,      //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            sortStable: true,
            pagination: true,     //是否显示分页（*）
            sortable: false,      //是否启用排序
            sortName: undefined,   //定义排序列,通过url方式获取数据填写字段名，否则填写下标
            sortOrder: "asc",     //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",   //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: pageNumber,      //初始化加载第一页，默认第一页
            pageSize: 30,      //每页的记录行数（*）
            pageList: [30, 50, 100, 300],  //可供选择的每页的行数（*）
            search: false,      //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: true,
            showColumns: true,     //是否显示所有的列
            showRefresh: false,     //是否显示刷新按钮
            minimumCountColumns: 2,    //最少允许的列数
            clickToSelect: false,    //是否启用点击选中行
            height: 525 ,      //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            fixedColumns: true,
            fixedNumber:17,
            uniqueId: "ID",      //每一行的唯一标识，一般为主键列
//                showToggle:false,     //是否显示详细视图和列表视图的切换按钮
            cardView: false,     //是否显示详细视图
            detailView: false,     //是否显示父子表
            columns: [
                {
                    field: 'check', checkbox: true
                }, {
                    field: 'number',
                    title: '序号',
                    align: 'center',
                    formatter: function (value, row, index) {
                        // var a = '<span class="checkchd_sys">' + (index + 1) + '</span>';
                        return index + 1;
                    }
                }, {
                    field: 'id',
                    title: 'id',
                    align: 'center',
                }, {
                    field: 'username',
                    title: '用户名',
                    align: 'center',
                    formatter: function (value, row, index) {
                        if(value)
                            return "<font color='blue'><span class='hidden'>"+value+"</span>"+value+"</font>";
                    }
                }, {
                    field: 'platform',
                    title: '所属类型',
                    align: 'center',
                }, {
                    field: 'roles',
                    title: '用户身份',
                    align: 'center',
                }, {
                    field: 'jifen',
                    title: '积分',
                    align: 'center',
                }, {
                    field: 'transactionHash',
                    title: 'hash',
                    align: 'center',
                }, {
                    field: 'dateCreated',
                    title: '创建时间',
                    align: 'center'
                }, {
                    field: 'detail',
                    title: '详情',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return "<a>查看详情</a>";
                    }
                }, {
                    field: 'operation',
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return "<a>修改</a>";
                    }
                }
            ], onClickCell: function (field, value, row, column, $element) {
                var username = $('span',column.context).html();
                if(username){
                    openJifenManagerForUsername(username);
                }

                if(column.context.innerText=="修改"){
                    $('#uid').val(row.id);
                    $('#role1').val(row.roles);
                    $('#catetgorySelect').val(row.platform);
                    $("#modi").modal("show");
                    return;
                }

                if(column.context.innerText=="查看详情"){
                    openDetail(row.transactionHash);
                    return;
                }
            },
            onLoadError: function(e,s){  //加载失败时执行
                if (s.responseText.indexOf('meta name="Login-Page"') != -1) {
                    location.href="/login";
                }
            }
        });
    };
    //得到查询的参数
    oTableInit.queryParams = function (params) {
        if (params.offset) {
            pageNumber = params.offset / params.limit + 1;
        } else {
            pageNumber = 1;
        }
        var temp = { //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            currentPage: pageNumber, //页面大小
            pageSize: params.limit, //页码
            startTime: $('#startTime').val(),
            endTime: $('#endTime').val()
        };
        return temp;
    };
    return oTableInit;
};

function add(){
    $('.cover').show();
    var param={"username":$('#username').val(), "password":$('#password').val(),"category":$('#catetgorySelectAdd').val(), "role":$('#role').val()};
    $.ajax({
        type:"post",
        url:"/user/add",
        dataType:"json",
        data:param,
        success:function(res){
            $('.cover').hide();
            if(res.message){
                alert(res.message);
            } else {
                $('#add').modal('hide');
                refreshTable()
            }
        }
    });
}

function openDetail(transactionHash) {
    var param = {"transactionHash" : transactionHash};
    $('.cover').show();
    $.ajax({
        url:"/jifen/getDetail",
        data:param,
        dataType:"json",
        success:function(res){
            $('.cover').hide();
            if(res.status == "SUCCESS"){
                var str='';
                var r = res.data;
                if(r){
                    str += "<li class='list-group-item'>blockHash:"+r.blockHash+"</li>";
                    str += "<li class='list-group-item'>blockNumber:"+r.blockNumber+"</li>";
                    str += "<li class='list-group-item'>contractAddress:"+r.contractAddress+"</li>";
                    str += "<li class='list-group-item'>cumulativeGasUsed:"+r.cumulativeGasUsed+"</li>";
                    str += "<li class='list-group-item'>from:"+r.from+"</li>";
                    str += "<li class='list-group-item'>gasUsed:"+r.gasUsed+"</li>";
                    str += "<li class='list-group-item'>logsBloom:"+r.logsBloom+"</li>";
                    str += "<li class='list-group-item'>root:"+r.root+"</li>";
                    str += "<li class='list-group-item'>status:"+r.status+"</li>";
                    str += "<li class='list-group-item'>to:"+r.to+"</li>";
                    str += "<li class='list-group-item'>transactionHash:"+r.transactionHash+"</li>";
                    str += "<li class='list-group-item'>transactionIndex:"+r.transactionIndex+"</li>";
                }
                $('#receipt_detail').html(str);
            }else{
                alert(res.message);
            }
            $("#myModal3").modal("show");
        },
        error:function(e){
            isLogin(e.responseText);
        }
    });
}

function update(){
    $('.cover').show();
    var param={"uid":$('#uid').val(), "password":$('#password1').val(),"category":$('#catetgorySelect').val(), "role":$('#role1').val()};
    $.ajax({
        type:"post",
        url:"/user/modi",
        dataType:"json",
        data:param,
        success:function(res){
            $('.cover').hide();
            if(res.message){
                alert(res.message);
            } else {
                $('#modi').modal('hide');
                refreshTable()
            }
        }
    });
}

function del(){
    var row = $.map($("#tb_borrow").bootstrapTable('getSelections'), function (row) {
        return row;
    });
    var ids = "";
    for (var i = 0; i < row.length; i++) {
        ids += row[i].id + ",";
    }
    if (ids) {
        if (!confirm("确定要删除吗？")) {
            return false;
        }
        $('.cover').show();
        var param = {"ids" : ids};
        $.ajax({
            type:"post",
            url:"/user/del",
            data:param,
            dataType:"json",
            success:function(res){
                $('.cover').hide();
                if(res.message){
                    alert(res.message);
                } else {
                    refreshTable()
                }
            },
            error:function(){
            }
        });
    } else {
        alert("请选择要删除的数据");
    }
}

function ButtonInit() {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
    };
    return oInit;
};

function initCategory(){
    $.ajax({
        url:"/category/getAll",
        dataType:"json",
        success:function(res){
            $('.cover').hide();
            var rows = res.rows;
            if(res.status == "SUCCESS"){
                var str="";
                if(rows && rows.length){
                    for(var i=0; i<rows.length; i++){
                        str += "<option value='"+rows[i].code+"'>"+rows[i].name+"</option>";
                    }
                }
                $('#catetgorySelect').append(str);
                $('#catetgorySelectAdd').append(str);
            }else{
                alert(res.message);
            }
        },
        error:function(e){console.info(1);
            isLogin(e.responseText);
        }
    });
}

var select_tree_org1 = {};
var element = "";
select_tree_org1.tree = {};

